#ifndef BASICWINDOW_H
#define BASICWINDOW_H

#include <QMainWindow>
#include "titlebar.h"

class BasicWindow : public QMainWindow
{
    Q_OBJECT
protected:
    explicit BasicWindow(QWidget *parent = nullptr);

protected:
    TitleBar* titleBar;

protected:
    void init();
    void initTitleBar(QWidget* widget, const QString &filePath,
                      const QString &content, const ButtonStyle style, QColor color);

signals:

private slots:
    void onCloseButtonClicked();
    void onMinButtonClicked();
    void onMaxButtonClicked();
    void onRestoreButtonClicked();

    void onShow();
    void onQuit();
    void onHide();

};

#endif // BASICWINDOW_H
